// pages/result/index.js
let page = 1,size=10
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list:[],
    leftH:0,
    rightH:0,
    leftList:[],
    rightList:[],
    num:0,
    keywords:"",
    isLoadALL:false
  },
  handlerWarterfull(){
    //当num值与list总值数量相同=> 图片 onload onerror 加载图片完毕
    const {num,list,leftList:lList,rightList:rList} = this.data 
    const rightList = [...rList]
    const leftList = [...lList]
    if(num === list.length){
      //每一个list选项都有h
      list.forEach(item=>{
        const {leftH,rightH} = this.data
        if(leftH>rightH){
          this.data.rightH = rightH + item.h
          rightList.push(item)
        }else{
          this.data.leftH = leftH + item.h
          leftList.push(item)
        }
      })
      //循环完毕 - 设置左右容器数据 清空加载容器，判断数量清空
      this.setData({
        leftList,rightList
      })
        //图片左右分栏完毕，马上准备视图更新
        wx.hideLoading()
        //
    }
  },
  //图片载入后手机信息
  onloadImg(e){
    console.log(e);
    console.log(e.detail);
    const {index} = e.target.dataset;
    const w = 200
    const {width,height} = e.detail
    console.log(width,height);
    const h = Math.ceil(w * height / width)
    console.log(h,index,this.data.list[index]);
    this.data.list[index]['h'] = h;
    console.log(this.data.list);
    this.data.num++;
    //计算下是否需要触发处理瀑布流函数
    this.handlerWarterfull()
  },
  //考虑载入失败的元素
  onErrorImg(e){
    // console.log(e,11111111);
    const {index} = e.target.dataset;
    this.data.list[index]['h'] = 200;
    this.data.num++;
    //计算下是否需要触发处理瀑布流函数
    this.handlerWarterfull()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //获取上个页面栈的参数结果
    const {keywords} = options
    if(!keywords){
      wx.showToast({
        title: '搜索内容不能为空',
      })
      return false
    }
    this.data.keywords = keywords
    this.getDataList()
  },
  getDataList(){
    if(this.data.isLoadALL)return
    wx.showLoading({
      title: '加载中...',
    })
    //清空数据
    this.data.num = 0;
    const {keywords} = this.data
        //ajax
        wx.cloud.callFunction({name:"getProduct",data:{
          keywords,
          page,
          size
        }}).then(res=>{
          wx.hideLoading()
          if(res.result && res.result.length !=0){
            //更新视图
            this.setData({
              list:res.result
            })
          }else{
            this.data.isLoadALL = true
            //没有数据了
            wx.showToast({
              title: '加载完毕~',
              icon:"none"
            })
          }
        }).catch(err=>{
          console.log(err)
        })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    //页码+1
    page++;
    this.getDataList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})